﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            px();
            Console.ReadKey();
        }
        static void zfx()
        {
            //            用户输入正方形边长，用* 打印出实心正方形。

            //如：用户输入5，则输出如下图形。 
            string[,] a = new string[5, 5];
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            //for (int i = 0; i < a; i++)
            //{
            //    for (int j = 0; j < a; j++)
            //    {
            //        Console.Write("*");
            //    }
            //    Console.WriteLine();
            //}
            Console.ReadKey();
        }
        static void cfb()//99*fb 
        {
            //for (int i = 1; i <= 9; i++)
            //{
            //    for (int j =1 ; j <= i; j++)
            //    {
            //        Console.Write(i+"*"+j+"="+i*j+"\t");
            //    }
            //    Console.WriteLine();
            //}
            string[,] a = new string[9, 9];
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j <= i; j++)
                {
                    a[i, j] = ((i + 1) + "*" + (j + 1) + "=" + (i + 1) * (j + 1) + "\t");

                }

            }
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    Console.Write(a[i, j]);
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
        static void kzfx()
        {
            //            用户输入正方形边长，用* 打印出空心正方形。

            //如：用户输入5，则输出如下图形。
            //*****
            //*   *
            //*   *
            //*   *
            //*****
            int[,] a = new int[5, 5];
             
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    if (i==1&&  a[i, j] == i || a[i, j] == j && j == 1 )
                    {
                        Console.Write(" *");
                    }
                    else if(i>=4||j>=4|| i <= 0 || j <= 0)
                    {
                        Console.Write(" *");
                    }           
                    else
                    {
                        Console.Write("  ");
                    }


                }
                Console.WriteLine();
            }
            
            Console.ReadKey();
            
           
        }
        static void lx() 
        {
            //4、打印菱形
            /* *
              ***
             *****
              ***
               */
            int[,] a= new int[3, 5];

            for (int i = 1; i <= a.GetLength(0); i++)
            {
                for (int j = 1; j <= i; j++)
                {
                    if (a.GetLength(1)<=5)
                    {
                        
                        Console.WriteLine(" *");
                    }
                    else
                    {
                        Console.Write("  ");
                    }
                }
                Console.WriteLine();

                Console.ReadKey();
            }
}
        static void thsjx() 
        {
            //            打印杨辉三角形（要求打印10行），如下所示：（使用二维数组）
            //1
            //1    1
            //1    2    1
            //1    3    3   1
            //1    4    6   4    1
            //1    5    10  10   5   1
            int[][] a = new int[10][];
            for (int i = 0; i < a.GetLength(0); i++)
            {
                a[i] = new int[i + 1];
            }
            for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j <= i; j++)
                {
                    if (i==0||j==0)
                    {
                        a[i][j] = 1;
                    } 
                    else if (i==1 && j ==1||i==j)
                    {
                        a[i][j] = 1;
                    }
                    else
                    {
                        a[i][j] = a[i - 1][j] + a[i - 1][j-1];
                    }
                }
            }
            for (int i = 0; i < a.GetLength(0); i++)
            {
                foreach (int item in a[i])
                {
                    Console.Write(item+"  ");
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
        //在 Main 方法中创建一个字符串类型的数组，并存入 5 个值，然后将数组中下标是偶数的元素输出。
        static void xb() 
        {
            string[] a = new string[]{"0","1","a","3","b"};
        
            for (int i = 0; i < a.Length; i++)
            {
                if (i % 2 == 0 && i != 0)
                {
                    Console.WriteLine("下标是偶数的有{0}", a[i]);
                }

            }
           


        }
        //如果一个数组保存元素是有序的（从大到小），向这个数组中插入一个数，使得插入后的数组元素仍然保持有序。
        static void px()
        {
            int[] a = new int[] { 10, 9, 8, 7, 6, 5, 4, 3, 2 };
            Console.WriteLine("原数组");
            foreach (int item in a)
            {
                Console.Write(item+" ");
            }
            Console.WriteLine();
            Console.WriteLine("插入一个数");
            int b = int.Parse(Console.ReadLine());
            int[] c =new int [a.Length + 1];
            int index = -1;
            int d = 0;
            for (int i = 0; i < a.Length; i++)
            {
                c[i] = a[i];
                if (b>a[i])
                {
                    d = b;
                    b = a[i];
                    a[i] = d;
                    index = i;
                    
                }
                if (b<a[i])
                {
                    d = b;
                    b = a[i];
                    a[i] = d;
                    index = i;

                }
                a[0] = c[i];

                Console.Write(c[i]+" ");
            }
        }
            //        一、一维
            //int[] numbers = new int[] { 1, 2, 3, 4, 5, 6 }; //不定长
            //        int[] numbers = new int[3] { 1, 2, 3 };//定长
            //        二、多维
            //int[,] numbers = new int[,] { { 1, 2, 3 }, { 1, 2, 3 } }; //不定长
            //        int[,] numbers = new int[2, 2] { { 1, 2 }, { 1, 2 } }; //定长
    }
}